#ifndef _GENARATE_
#define _GENARATE_

#include "user.h"
#include "cloud.h"

void generate_randomid(User *u); //生成用户表中的随机标识

void generate_roots(User *u); //生成用户哈希表桶中的随机数根

void generate_polynomial(User *u); // 为用户初始化多项式系数数组

void generate_divide_polynomial(User *u); // 将P(x)分割为o(x)和z(x) (初始化阶段)

void generate_user_state(User *u); //为用户设置初始的状态，1表示在线，0表示离线

void shufflePolynomials(User *u); // 用 Fisher-Yates 洗牌算法混淆多项式的存储顺序

void send_o_hat_table_ToCloud(CloudServer *c, User *u); //将o_hat表发送给云服务器

void generate(User *u, CloudServer *c); //初始化一个用户

#endif